home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Applications / Tcl-Tk 8.0 / Pre-installed version / tk8.0 / xlib / X11 / Xutil.h < prev   
Encoding:
C/C++ Source or Header  |  1997-08-15  |  20.3 KB  |  880 lines  |  [TEXT/CWIE]

  1. /* $XConsortium: Xutil.h,v 11.73 91/07/30 16:21:37 rws Exp $ */
  2.  
  3. /***********************************************************
  4. Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
  5. and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
  6.  
  7.                         All Rights Reserved
  8.  
  9. Permission to use, copy, modify, and distribute this software and its 
  10. documentation for any purpose and without fee is hereby granted, 
  11. provided that the above copyright notice appear in all copies and that
  12. both that copyright notice and this permission notice appear in 
  13. supporting documentation, and that the names of Digital or MIT not be
  14. used in advertising or publicity pertaining to distribution of the
  15. software without specific, written prior permission.  
  16.  
  17. DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  18. ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  19. DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  20. ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  21. WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  22. ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  23. SOFTWARE.
  24.  
  25. ******************************************************************/
  26.  
  27. #ifndef _XUTIL_H_
  28. #define _XUTIL_H_
  29.  
  30. /* You must include <X11/Xlib.h> before including this file */
  31.  
  32. #ifdef MAC_TCL
  33. #   define Region XRegion
  34. #endif
  35.  
  36. /* 
  37.  * Bitmask returned by XParseGeometry().  Each bit tells if the corresponding
  38.  * value (x, y, width, height) was found in the parsed string.
  39.  */
  40. #define NoValue        0x0000
  41. #define XValue      0x0001
  42. #define YValue        0x0002
  43. #define WidthValue      0x0004
  44. #define HeightValue      0x0008
  45. #define AllValues     0x000F
  46. #define XNegative     0x0010
  47. #define YNegative     0x0020
  48.  
  49. /*
  50.  * new version containing base_width, base_height, and win_gravity fields;
  51.  * used with WM_NORMAL_HINTS.
  52.  */
  53. typedef struct {
  54.         long flags;    /* marks which fields in this structure are defined */
  55.     int x, y;        /* obsolete for new window mgrs, but clients */
  56.     int width, height;    /* should set so old wm's don't mess up */
  57.     int min_width, min_height;
  58.     int max_width, max_height;
  59.         int width_inc, height_inc;
  60.     struct {
  61.         int x;    /* numerator */
  62.         int y;    /* denominator */
  63.     } min_aspect, max_aspect;
  64.     int base_width, base_height;        /* added by ICCCM version 1 */
  65.     int win_gravity;            /* added by ICCCM version 1 */
  66. } XSizeHints;
  67.  
  68. /*
  69.  * The next block of definitions are for window manager properties that
  70.  * clients and applications use for communication.
  71.  */
  72.  
  73. /* flags argument in size hints */
  74. #define USPosition    (1L << 0) /* user specified x, y */
  75. #define USSize        (1L << 1) /* user specified width, height */
  76.  
  77. #define PPosition    (1L << 2) /* program specified position */
  78. #define PSize        (1L << 3) /* program specified size */
  79. #define PMinSize    (1L << 4) /* program specified minimum size */
  80. #define PMaxSize    (1L << 5) /* program specified maximum size */
  81. #define PResizeInc    (1L << 6) /* program specified resize increments */
  82. #define PAspect        (1L << 7) /* program specified min and max aspect ratios */
  83. #define PBaseSize    (1L << 8) /* program specified base for incrementing */
  84. #define PWinGravity    (1L << 9) /* program specified window gravity */
  85.  
  86. /* obsolete */
  87. #define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
  88.  
  89.  
  90.  
  91. typedef struct {
  92.     long flags;    /* marks which fields in this structure are defined */
  93.     Bool input;    /* does this application rely on the window manager to
  94.             get keyboard input? */
  95.     int initial_state;    /* see below */
  96.     Pixmap icon_pixmap;    /* pixmap to be used as icon */
  97.     Window icon_window;     /* window to be used as icon */
  98.     int icon_x, icon_y;     /* initial position of icon */
  99.     Pixmap icon_mask;    /* icon mask bitmap */
  100.     XID window_group;    /* id of related window group */
  101.     /* this structure may be extended in the future */
  102. } XWMHints;
  103.  
  104. /* definition for flags of XWMHints */
  105.  
  106. #define InputHint         (1L << 0)
  107. #define StateHint         (1L << 1)
  108. #define IconPixmapHint        (1L << 2)
  109. #define IconWindowHint        (1L << 3)
  110. #define IconPositionHint     (1L << 4)
  111. #define IconMaskHint        (1L << 5)
  112. #define WindowGroupHint        (1L << 6)
  113. #define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
  114. IconPositionHint|IconMaskHint|WindowGroupHint)
  115.  
  116. /* definitions for initial window state */
  117. #define WithdrawnState 0    /* for windows that are not mapped */
  118. #define NormalState 1    /* most applications want to start this way */
  119. #define IconicState 3    /* application wants to start as an icon */
  120.  
  121. /*
  122.  * Obsolete states no longer defined by ICCCM
  123.  */
  124. #define DontCareState 0    /* don't know or care */
  125. #define ZoomState 2    /* application wants to start zoomed */
  126. #define InactiveState 4    /* application believes it is seldom used; */
  127.             /* some wm's may put it on inactive menu */
  128.  
  129.  
  130. /*
  131.  * new structure for manipulating TEXT properties; used with WM_NAME, 
  132.  * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
  133.  */
  134. typedef struct {
  135.     unsigned char *value;        /* same as Property routines */
  136.     Atom encoding;            /* prop type */
  137.     int format;                /* prop data format: 8, 16, or 32 */
  138.     unsigned long nitems;        /* number of data items in value */
  139. } XTextProperty;
  140.  
  141. #define XNoMemory -1
  142. #define XLocaleNotSupported -2
  143. #define XConverterNotFound -3
  144.  
  145. typedef enum {
  146.     XStringStyle,        /* STRING */
  147.     XCompoundTextStyle,        /* COMPOUND_TEXT */
  148.     XTextStyle,            /* text in owner's encoding (current locale)*/
  149.     XStdICCTextStyle        /* STRING, else COMPOUND_TEXT */
  150. } XICCEncodingStyle;
  151.  
  152. typedef struct {
  153.     int min_width, min_height;
  154.     int max_width, max_height;
  155.     int width_inc, height_inc;
  156. } XIconSize;
  157.  
  158. typedef struct {
  159.     char *res_name;
  160.     char *res_class;
  161. } XClassHint;
  162.  
  163. /*
  164.  * These macros are used to give some sugar to the image routines so that
  165.  * naive people are more comfortable with them.
  166.  */
  167. #define XDestroyImage(ximage) \
  168.     ((*((ximage)->f.destroy_image))((ximage)))
  169. #define XGetPixel(ximage, x, y) \
  170.     ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
  171. #define XPutPixel(ximage, x, y, pixel) \
  172.     ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
  173. #define XSubImage(ximage, x, y, width, height)  \
  174.     ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
  175. #define XAddPixel(ximage, value) \
  176.     ((*((ximage)->f.add_pixel))((ximage), (value)))
  177.  
  178. /*
  179.  * Compose sequence status structure, used in calling XLookupString.
  180.  */
  181. typedef struct _XComposeStatus {
  182.     XPointer compose_ptr;    /* state table pointer */
  183.     int chars_matched;        /* match state */
  184. } XComposeStatus;
  185.  
  186. /*
  187.  * Keysym macros, used on Keysyms to test for classes of symbols
  188.  */
  189. #define IsKeypadKey(keysym) \
  190.   (((unsigned)(keysym) >= XK_KP_Space) && ((unsigned)(keysym) <= XK_KP_Equal))
  191.  
  192. #define IsCursorKey(keysym) \
  193.   (((unsigned)(keysym) >= XK_Home)     && ((unsigned)(keysym) <  XK_Select))
  194.  
  195. #define IsPFKey(keysym) \
  196.   (((unsigned)(keysym) >= XK_KP_F1)     && ((unsigned)(keysym) <= XK_KP_F4))
  197.  
  198. #define IsFunctionKey(keysym) \
  199.   (((unsigned)(keysym) >= XK_F1)       && ((unsigned)(keysym) <= XK_F35))
  200.  
  201. #define IsMiscFunctionKey(keysym) \
  202.   (((unsigned)(keysym) >= XK_Select)   && ((unsigned)(keysym) <= XK_Break))
  203.  
  204. #define IsModifierKey(keysym) \
  205.   ((((unsigned)(keysym) >= XK_Shift_L) && ((unsigned)(keysym) <= XK_Hyper_R)) \
  206.    || ((unsigned)(keysym) == XK_Mode_switch) \
  207.    || ((unsigned)(keysym) == XK_Num_Lock))
  208. /*
  209.  * opaque reference to Region data type 
  210.  */
  211. typedef struct _XRegion *Region; 
  212.  
  213. /* Return values from XRectInRegion() */
  214.  
  215. #define RectangleOut 0
  216. #define RectangleIn  1
  217. #define RectanglePart 2
  218.  
  219.  
  220. /*
  221.  * Information used by the visual utility routines to find desired visual
  222.  * type from the many visuals a display may support.
  223.  */
  224.  
  225. typedef struct {
  226.   Visual *visual;
  227.   VisualID visualid;
  228.   int screen;
  229.   int depth;
  230. #if defined(__cplusplus) || defined(c_plusplus)
  231.   int c_class;                    /* C++ */
  232. #else
  233.   int class;
  234. #endif
  235.   unsigned long red_mask;
  236.   unsigned long green_mask;
  237.   unsigned long blue_mask;
  238.   int colormap_size;
  239.   int bits_per_rgb;
  240. } XVisualInfo;
  241.  
  242. #define VisualNoMask        0x0
  243. #define VisualIDMask         0x1
  244. #define VisualScreenMask    0x2
  245. #define VisualDepthMask        0x4
  246. #define VisualClassMask        0x8
  247. #define VisualRedMaskMask    0x10
  248. #define VisualGreenMaskMask    0x20
  249. #define VisualBlueMaskMask    0x40
  250. #define VisualColormapSizeMask    0x80
  251. #define VisualBitsPerRGBMask    0x100
  252. #define VisualAllMask        0x1FF
  253.  
  254. /*
  255.  * This defines a window manager property that clients may use to
  256.  * share standard color maps of type RGB_COLOR_MAP:
  257.  */
  258. typedef struct {
  259.     Colormap colormap;
  260.     unsigned long red_max;
  261.     unsigned long red_mult;
  262.     unsigned long green_max;
  263.     unsigned long green_mult;
  264.     unsigned long blue_max;
  265.     unsigned long blue_mult;
  266.     unsigned long base_pixel;
  267.     VisualID visualid;        /* added by ICCCM version 1 */
  268.     XID killid;            /* added by ICCCM version 1 */
  269. } XStandardColormap;
  270.  
  271. #define ReleaseByFreeingColormap ((XID) 1L)  /* for killid field above */
  272.  
  273.  
  274. /*
  275.  * return codes for XReadBitmapFile and XWriteBitmapFile
  276.  */
  277. #define BitmapSuccess        0
  278. #define BitmapOpenFailed     1
  279. #define BitmapFileInvalid     2
  280. #define BitmapNoMemory        3
  281.  
  282. /****************************************************************
  283.  *
  284.  * Context Management
  285.  *
  286.  ****************************************************************/
  287.  
  288.  
  289. /* Associative lookup table return codes */
  290.  
  291. #define XCSUCCESS 0    /* No error. */
  292. #define XCNOMEM   1    /* Out of memory */
  293. #define XCNOENT   2    /* No entry in table */
  294.  
  295. typedef int XContext;
  296.  
  297. #define XUniqueContext()       ((XContext) XrmUniqueQuark())
  298. #define XStringToContext(string)   ((XContext) XrmStringToQuark(string))
  299.  
  300. _XFUNCPROTOBEGIN
  301.  
  302. /* The following declarations are alphabetized. */
  303.  
  304. extern XClassHint *XAllocClassHint (
  305. #if NeedFunctionPrototypes
  306.     void
  307. #endif
  308. );
  309.  
  310. extern XIconSize *XAllocIconSize (
  311. #if NeedFunctionPrototypes
  312.     void
  313. #endif
  314. );
  315.  
  316. extern XSizeHints *XAllocSizeHints (
  317. #if NeedFunctionPrototypes
  318.     void
  319. #endif
  320. );
  321.  
  322. extern XStandardColormap *XAllocStandardColormap (
  323. #if NeedFunctionPrototypes
  324.     void
  325. #endif
  326. );
  327.  
  328. extern XWMHints *XAllocWMHints (
  329. #if NeedFunctionPrototypes
  330.     void
  331. #endif
  332. );
  333.  
  334. extern void XClipBox(
  335. #if NeedFunctionPrototypes
  336.     Region        /* r */,
  337.     XRectangle*        /* rect_return */
  338. #endif
  339. );
  340.  
  341. extern Region XCreateRegion(
  342. #if NeedFunctionPrototypes
  343.     void
  344. #endif
  345. );
  346.  
  347. extern char *XDefaultString(
  348. #if NeedFunctionPrototypes
  349.     void
  350. #endif
  351. );
  352.  
  353. extern int XDeleteContext(
  354. #if NeedFunctionPrototypes
  355.     Display*        /* display */,
  356.     XID            /* rid */,
  357.     XContext        /* context */
  358. #endif
  359. );
  360.  
  361. extern void XDestroyRegion(
  362. #if NeedFunctionPrototypes
  363.     Region        /* r */
  364. #endif
  365. );
  366.  
  367. extern void XEmptyRegion(
  368. #if NeedFunctionPrototypes
  369.     Region        /* r */
  370. #endif
  371. );
  372.  
  373. extern void XEqualRegion(
  374. #if NeedFunctionPrototypes
  375.     Region        /* r1 */,
  376.     Region        /* r2 */
  377. #endif
  378. );
  379.  
  380. extern int XFindContext(
  381. #if NeedFunctionPrototypes
  382.     Display*        /* display */,
  383.     XID            /* rid */,
  384.     XContext        /* context */,
  385.     XPointer*        /* data_return */
  386. #endif
  387. );
  388.  
  389. extern Status XGetClassHint(
  390. #if NeedFunctionPrototypes
  391.     Display*        /* display */,
  392.     Window        /* w */,
  393.     XClassHint*        /* class_hints_return */
  394. #endif
  395. );
  396.  
  397. extern Status XGetIconSizes(
  398. #if NeedFunctionPrototypes
  399.     Display*        /* display */,
  400.     Window        /* w */,
  401.     XIconSize**        /* size_list_return */,
  402.     int*        /* count_return */
  403. #endif
  404. );
  405.  
  406. extern Status XGetNormalHints(
  407. #if NeedFunctionPrototypes
  408.     Display*        /* display */,
  409.     Window        /* w */,
  410.     XSizeHints*        /* hints_return */
  411. #endif
  412. );
  413.  
  414. extern Status XGetRGBColormaps(
  415. #if NeedFunctionPrototypes
  416.     Display*        /* display */,
  417.     Window        /* w */,
  418.     XStandardColormap** /* stdcmap_return */,
  419.     int*        /* count_return */,
  420.     Atom        /* property */
  421. #endif
  422. );
  423.  
  424. extern Status XGetSizeHints(
  425. #if NeedFunctionPrototypes
  426.     Display*        /* display */,
  427.     Window        /* w */,
  428.     XSizeHints*        /* hints_return */,
  429.     Atom        /* property */
  430. #endif
  431. );
  432.  
  433. extern Status XGetStandardColormap(
  434. #if NeedFunctionPrototypes
  435.     Display*        /* display */,
  436.     Window        /* w */,
  437.     XStandardColormap*    /* colormap_return */,
  438.     Atom        /* property */                
  439. #endif
  440. );
  441.  
  442. extern Status XGetTextProperty(
  443. #if NeedFunctionPrototypes
  444.     Display*        /* display */,
  445.     Window        /* window */,
  446.     XTextProperty*    /* text_prop_return */,
  447.     Atom        /* property */
  448. #endif
  449. );
  450.  
  451. extern XVisualInfo *XGetVisualInfo(
  452. #if NeedFunctionPrototypes
  453.     Display*        /* display */,
  454.     long        /* vinfo_mask */,
  455.     XVisualInfo*    /* vinfo_template */,
  456.     int*        /* nitems_return */
  457. #endif
  458. );
  459.  
  460. extern Status XGetWMClientMachine(
  461. #if NeedFunctionPrototypes
  462.     Display*        /* display */,
  463.     Window        /* w */,
  464.     XTextProperty*    /* text_prop_return */
  465. #endif
  466. );
  467.  
  468. extern XWMHints *XGetWMHints(
  469. #if NeedFunctionPrototypes
  470.     Display*        /* display */,
  471.     Window        /* w */              
  472. #endif
  473. );
  474.  
  475. extern Status XGetWMIconName(
  476. #if NeedFunctionPrototypes
  477.     Display*        /* display */,
  478.     Window        /* w */,
  479.     XTextProperty*    /* text_prop_return */
  480. #endif
  481. );
  482.  
  483. extern Status XGetWMName(
  484. #if NeedFunctionPrototypes
  485.     Display*        /* display */,
  486.     Window        /* w */,
  487.     XTextProperty*    /* text_prop_return */
  488. #endif
  489. );
  490.  
  491. extern Status XGetWMNormalHints(
  492. #if NeedFunctionPrototypes
  493.     Display*        /* display */,
  494.     Window        /* w */,
  495.     XSizeHints*        /* hints_return */,
  496.     long*        /* supplied_return */ 
  497. #endif
  498. );
  499.  
  500. extern Status XGetWMSizeHints(
  501. #if NeedFunctionPrototypes
  502.     Display*        /* display */,
  503.     Window        /* w */,
  504.     XSizeHints*        /* hints_return */,
  505.     long*        /* supplied_return */,
  506.     Atom        /* property */
  507. #endif
  508. );
  509.  
  510. extern Status XGetZoomHints(
  511. #if NeedFunctionPrototypes
  512.     Display*        /* display */,
  513.     Window        /* w */,
  514.     XSizeHints*        /* zhints_return */
  515. #endif
  516. );
  517.  
  518. extern void XIntersectRegion(
  519. #if NeedFunctionPrototypes
  520.     Region        /* sra */,
  521.     Region        /* srb */,
  522.     Region        /* dr_return */
  523. #endif
  524. );
  525.  
  526. extern int XLookupString(
  527. #if NeedFunctionPrototypes
  528.     XKeyEvent*        /* event_struct */,
  529.     char*        /* buffer_return */,
  530.     int            /* bytes_buffer */,
  531.     KeySym*        /* keysym_return */,
  532.     XComposeStatus*    /* status_in_out */
  533. #endif
  534. );
  535.  
  536. extern Status XMatchVisualInfo(
  537. #if NeedFunctionPrototypes
  538.     Display*        /* display */,
  539.     int            /* screen */,
  540.     int            /* depth */,
  541.     int            /* class */,
  542.     XVisualInfo*    /* vinfo_return */
  543. #endif
  544. );
  545.  
  546. extern void XOffsetRegion(
  547. #if NeedFunctionPrototypes
  548.     Region        /* r */,
  549.     int            /* dx */,
  550.     int            /* dy */
  551. #endif
  552. );
  553.  
  554. extern Bool XPointInRegion(
  555. #if NeedFunctionPrototypes
  556.     Region        /* r */,
  557.     int            /* x */,
  558.     int            /* y */
  559. #endif
  560. );
  561.  
  562. extern Region XPolygonRegion(
  563. #if NeedFunctionPrototypes
  564.     XPoint*        /* points */,
  565.     int            /* n */,
  566.     int            /* fill_rule */
  567. #endif
  568. );
  569.  
  570. extern int XRectInRegion(
  571. #if NeedFunctionPrototypes
  572.     Region        /* r */,
  573.     int            /* x */,
  574.     int            /* y */,
  575.     unsigned int    /* width */,
  576.     unsigned int    /* height */
  577. #endif
  578. );
  579.  
  580. extern int XSaveContext(
  581. #if NeedFunctionPrototypes
  582.     Display*        /* display */,
  583.     XID            /* rid */,
  584.     XContext        /* context */,
  585.     _Xconst char*    /* data */
  586. #endif
  587. );
  588.  
  589. extern void XSetClassHint(
  590. #if NeedFunctionPrototypes
  591.     Display*        /* display */,
  592.     Window        /* w */,
  593.     XClassHint*        /* class_hints */
  594. #endif
  595. );
  596.  
  597. extern void XSetIconSizes(
  598. #if NeedFunctionPrototypes
  599.     Display*        /* display */,
  600.     Window        /* w */,
  601.     XIconSize*        /* size_list */,
  602.     int            /* count */    
  603. #endif
  604. );
  605.  
  606. extern void XSetNormalHints(
  607. #if NeedFunctionPrototypes
  608.     Display*        /* display */,
  609.     Window        /* w */,
  610.     XSizeHints*        /* hints */
  611. #endif
  612. );
  613.  
  614. extern void XSetRGBColormaps(
  615. #if NeedFunctionPrototypes
  616.     Display*        /* display */,
  617.     Window        /* w */,
  618.     XStandardColormap*    /* stdcmaps */,
  619.     int            /* count */,
  620.     Atom        /* property */
  621. #endif
  622. );
  623.  
  624. extern void XSetSizeHints(
  625. #if NeedFunctionPrototypes
  626.     Display*        /* display */,
  627.     Window        /* w */,
  628.     XSizeHints*        /* hints */,
  629.     Atom        /* property */
  630. #endif
  631. );
  632.  
  633. extern void XSetStandardProperties(
  634. #if NeedFunctionPrototypes
  635.     Display*        /* display */,
  636.     Window        /* w */,
  637.     _Xconst char*    /* window_name */,
  638.     _Xconst char*    /* icon_name */,
  639.     Pixmap        /* icon_pixmap */,
  640.     char**        /* argv */,
  641.     int            /* argc */,
  642.     XSizeHints*        /* hints */
  643. #endif
  644. );
  645.  
  646. extern void XSetTextProperty(
  647. #if NeedFunctionPrototypes
  648.     Display*        /* display */,
  649.     Window        /* w */,
  650.     XTextProperty*    /* text_prop */,
  651.     Atom        /* property */
  652. #endif
  653. );
  654.  
  655. extern void XSetWMClientMachine(
  656. #if NeedFunctionPrototypes
  657.     Display*        /* display */,
  658.     Window        /* w */,
  659.     XTextProperty*    /* text_prop */
  660. #endif
  661. );
  662.  
  663. extern void XSetWMHints(
  664. #if NeedFunctionPrototypes
  665.     Display*        /* display */,
  666.     Window        /* w */,
  667.     XWMHints*        /* wm_hints */
  668. #endif
  669. );
  670.  
  671. extern void XSetWMIconName(
  672. #if NeedFunctionPrototypes
  673.     Display*        /* display */,
  674.     Window        /* w */,
  675.     XTextProperty*    /* text_prop */
  676. #endif
  677. );
  678.  
  679. extern void XSetWMName(
  680. #if NeedFunctionPrototypes
  681.     Display*        /* display */,
  682.     Window        /* w */,
  683.     XTextProperty*    /* text_prop */
  684. #endif
  685. );
  686.  
  687. extern void XSetWMNormalHints(
  688. #if NeedFunctionPrototypes
  689.     Display*        /* display */,
  690.     Window        /* w */,
  691.     XSizeHints*        /* hints */
  692. #endif
  693. );
  694.  
  695. extern void XSetWMProperties(
  696. #if NeedFunctionPrototypes
  697.     Display*        /* display */,
  698.     Window        /* w */,
  699.     XTextProperty*    /* window_name */,
  700.     XTextProperty*    /* icon_name */,
  701.     char**        /* argv */,
  702.     int            /* argc */,
  703.     XSizeHints*        /* normal_hints */,
  704.     XWMHints*        /* wm_hints */,
  705.     XClassHint*        /* class_hints */
  706. #endif
  707. );
  708.  
  709. extern void XmbSetWMProperties(
  710. #if NeedFunctionPrototypes
  711.     Display*        /* display */,
  712.     Window        /* w */,
  713.     _Xconst char*    /* window_name */,
  714.     _Xconst char*    /* icon_name */,
  715.     char**        /* argv */,
  716.     int            /* argc */,
  717.     XSizeHints*        /* normal_hints */,
  718.     XWMHints*        /* wm_hints */,
  719.     XClassHint*        /* class_hints */
  720. #endif
  721. );
  722.  
  723. extern void XSetWMSizeHints(
  724. #if NeedFunctionPrototypes
  725.     Display*        /* display */,
  726.     Window        /* w */,
  727.     XSizeHints*        /* hints */,
  728.     Atom        /* property */
  729. #endif
  730. );
  731.  
  732. extern void XSetRegion(
  733. #if NeedFunctionPrototypes
  734.     Display*        /* display */,
  735.     GC            /* gc */,
  736.     Region        /* r */
  737. #endif
  738. );
  739.  
  740. extern void XSetStandardColormap(
  741. #if NeedFunctionPrototypes
  742.     Display*        /* display */,
  743.     Window        /* w */,
  744.     XStandardColormap*    /* colormap */,
  745.     Atom        /* property */
  746. #endif
  747. );
  748.  
  749. extern void XSetZoomHints(
  750. #if NeedFunctionPrototypes
  751.     Display*        /* display */,
  752.     Window        /* w */,
  753.     XSizeHints*        /* zhints */
  754. #endif
  755. );
  756.  
  757. extern void XShrinkRegion(
  758. #if NeedFunctionPrototypes
  759.     Region        /* r */,
  760.     int            /* dx */,
  761.     int            /* dy */
  762. #endif
  763. );
  764.  
  765. extern Status XStringListToTextProperty(
  766. #if NeedFunctionPrototypes
  767.     char**        /* list */,
  768.     int            /* count */,
  769.     XTextProperty*    /* text_prop_return */
  770. #endif
  771. );
  772.  
  773. extern void XSubtractRegion(
  774. #if NeedFunctionPrototypes
  775.     Region        /* sra */,
  776.     Region        /* srb */,
  777.     Region        /* dr_return */
  778. #endif
  779. );
  780.  
  781. extern int XmbTextListToTextProperty(
  782. #if NeedFunctionPrototypes
  783.     Display*        /* display */,
  784.     char**        /* list */,
  785.     int            /* count */,
  786.     XICCEncodingStyle    /* style */,
  787.     XTextProperty*    /* text_prop_return */
  788. #endif
  789. );
  790.  
  791. extern int XwcTextListToTextProperty(
  792. #if NeedFunctionPrototypes
  793.     Display*        /* display */,
  794.     wchar_t**        /* list */,
  795.     int            /* count */,
  796.     XICCEncodingStyle    /* style */,
  797.     XTextProperty*    /* text_prop_return */
  798. #endif
  799. );
  800.  
  801. extern void XwcFreeStringList(
  802. #if NeedFunctionPrototypes
  803.     wchar_t**        /* list */
  804. #endif
  805. );
  806.  
  807. extern Status XTextPropertyToStringList(
  808. #if NeedFunctionPrototypes
  809.     XTextProperty*    /* text_prop */,
  810.     char***        /* list_return */,
  811.     int*        /* count_return */
  812. #endif
  813. );
  814.  
  815. extern int XmbTextPropertyToTextList(
  816. #if NeedFunctionPrototypes
  817.     Display*        /* display */,
  818.     XTextProperty*    /* text_prop */,
  819.     char***        /* list_return */,
  820.     int*        /* count_return */
  821. #endif
  822. );
  823.  
  824. extern int XwcTextPropertyToTextList(
  825. #if NeedFunctionPrototypes
  826.     Display*        /* display */,
  827.     XTextProperty*    /* text_prop */,
  828.     wchar_t***        /* list_return */,
  829.     int*        /* count_return */
  830. #endif
  831. );
  832.  
  833. extern void XUnionRectWithRegion(
  834. #if NeedFunctionPrototypes
  835.     XRectangle*        /* rectangle */,
  836.     Region        /* src_region */,
  837.     Region        /* dest_region_return */
  838. #endif
  839. );
  840.  
  841. extern void XUnionRegion(
  842. #if NeedFunctionPrototypes
  843.     Region        /* sra */,
  844.     Region        /* srb */,
  845.     Region        /* dr_return */
  846. #endif
  847. );
  848.  
  849. extern int XWMGeometry(
  850. #if NeedFunctionPrototypes
  851.     Display*        /* display */,
  852.     int            /* screen_number */,
  853.     _Xconst char*    /* user_geometry */,
  854.     _Xconst char*    /* default_geometry */,
  855.     unsigned int    /* border_width */,
  856.     XSizeHints*        /* hints */,
  857.     int*        /* x_return */,
  858.     int*        /* y_return */,
  859.     int*        /* width_return */,
  860.     int*        /* height_return */,
  861.     int*        /* gravity_return */
  862. #endif
  863. );
  864.  
  865. extern void XXorRegion(
  866. #if NeedFunctionPrototypes
  867.     Region        /* sra */,
  868.     Region        /* srb */,
  869.     Region        /* dr_return */
  870. #endif
  871. );
  872.  
  873. _XFUNCPROTOEND
  874.  
  875. #ifdef MAC_TCL
  876. #   undef Region
  877. #endif
  878.  
  879. #endif /* _XUTIL_H_ */
  880.